#pragma once
#include "../user/user.hpp"
#include <vector>

class Land;

enum EmptyRange{
	AreaOne=29,
	AreaTwo=35,
};
enum EmptyStatus{
	Glade,
	Sold,
	Thatch,
	Room,
	Edifice,
};

class HouseBase{
protected:
	friend class Land;
	friend class CmdCtrl;
	friend class TestOutput;
	friend void TestPrintMapMsg(std::vector<Land>& map,std::unordered_map<int,User*>& users);
	EmptyStatus status;
	int price=0;
	int ownId=0;
	int input=-1;
	char outCh='0';
	Color color=White;
	int pos=-1;
public:
	virtual void Clear()=0;
	virtual bool PassFunction(User& user,std::vector<Land>& map,std::unordered_map<int,User*>& users)=0;
	virtual char MapChar()=0;
	virtual Color MapColor()=0;
};
